#pragma once
#include "StdAfx.h"

class FryEntity_cl : public VisBaseEntity_cl
{
public :
	V_DECLARE_SERIAL(FryEntity_cl, )
		IMPLEMENT_OBJ_CLASS(FryEntity_cl);

public:
	FryEntity_cl();
	~FryEntity_cl();

	void InitFunction();
	void ThinkFunction();
	void MessageFunction(int iID, INT_PTR iParamA, INT_PTR iParamB);
	void SetPosition( const hkvVec3& vPos );
	void ApplyForce(const hkvVec3& value){ m_pRigidBody->ApplyForce(value); }
	void SetFriction(float fFriction){ m_pRigidBody->SetFriction(fFriction); }
	void SetRestitution(float fRestitution){ m_pRigidBody->SetRestitution(fRestitution); }
	float GetMass(){ return m_pRigidBody->Havok_Mass; }

	bool GetTouchFrypan(){ return m_bTocuhFrypan; }
	void SetTouchFrypan(bool bTouch){ m_bTocuhFrypan = bTouch; }

	void RemoveRB();
	void CreateRigidBody();
	void RigidbodyReset();
	void SetRBActive(bool state){ m_pRigidBody->SetActive(state); }
	void SetRBMotionType(hkpMotion::MotionType type){ m_pRigidBody->SetMotionType(type); }

	void SetVisible(bool visible);

private:
	vHavokRigidBody *m_pRigidBody;

	unsigned int m_iFryVisibleBitMask;
	bool m_bTocuhFrypan;
};
